package com.winhxd.b2c.common.domain.customer.model;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 提现表
 *
 * @author lt
 * @date 2019-1-11 15:30:40
 */
public class CustomerWithdrawals {
    private Long id;

    /**
     * 门店id
     */
    private Long customerId;
    /**
     * 提现订单号
     */
    private String withdrawalsNo;
    /**
     * 提现流水号
     */
    private String withdrawalsTransactionNo;
    /**
     * 提现金额
     */
    private BigDecimal totalFee;
    /**
     * 实际到账金额
     */
    private BigDecimal realFee;
    /**
     * 手续费
     */
    private BigDecimal cmmsAmt;
    /**
     * 费率
     */
    private BigDecimal rate;
    /**
     * 状态 0未审核 1审核通过 2审核不通过
     */
    private Short auditStatus;
    /**
     * 原因
     */
    private String auditDesc;
    /**
     * 回调状态 0.申请中，1.提现成功，2提现失败（可以再次请求微信转账接口）,3无效（提现失败，不可以再次请求微信转账接口）,
     * 4处理中,5银行退票(订单状态由付款成功流转至退票,退票时付款金额和手续费会自动退还)
     */
    private Short callbackStatus;
    /**
     * 原因（管理平台展示）
     */
    private String callbackReason;
    /**
     * 错误描述（客户端展示）
     */
    private String errorMessage;
    /**
     * 回调手续费
     */
    private BigDecimal callbackCmmsAmt;
    /**
     * 流向类型 1微信 2银行卡
     */
    private Short flowDirectionType;
    /**
     * 流向名称 微信或者各个银行卡名称
     */
    private String flowDirectionName;
    /**
     * 银行swiftCode
     */
    private String swiftCode;
    /**
     * 提款人
     */
    private String name;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 流向账户
     */
    private String paymentAccount;
    /**
     * 创建时间
     */
    private Date created;
    /**
     * 创建人id
     */
    private Long createdBy;
    /**
     * 创建人
     */
    private String createdByName;
    /**
     * 修改人id
     */
    private Long updatedBy;
    /**
     * 修改人
     */
    private String updatedByName;
    /**
     * 修改时间
     */
    private Date updated;
    /**
     * 收款人唯一标识
     */
    private String buyerId;
    /**
     * 第三方单号
     */
    private String transactionId;
    /**
     * 第三方实际提现金额
     */
    private BigDecimal callbackMoney;
    /**
     * 完成时间
     */
    private Date timeEnd;
    /**
     * Ip地址
     */
    private String spbillCreateIp;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getWithdrawalsNo() {
        return withdrawalsNo;
    }

    public void setWithdrawalsNo(String withdrawalsNo) {
        this.withdrawalsNo = withdrawalsNo;
    }

    public String getWithdrawalsTransactionNo() {
        return withdrawalsTransactionNo;
    }

    public void setWithdrawalsTransactionNo(String withdrawalsTransactionNo) {
        this.withdrawalsTransactionNo = withdrawalsTransactionNo;
    }

    public BigDecimal getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(BigDecimal totalFee) {
        this.totalFee = totalFee;
    }

    public BigDecimal getRealFee() {
        return realFee;
    }

    public void setRealFee(BigDecimal realFee) {
        this.realFee = realFee;
    }

    public BigDecimal getCmmsAmt() {
        return cmmsAmt;
    }

    public void setCmmsAmt(BigDecimal cmmsAmt) {
        this.cmmsAmt = cmmsAmt;
    }

    public BigDecimal getRate() {
        return rate;
    }

    public void setRate(BigDecimal rate) {
        this.rate = rate;
    }

    public Short getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(Short auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getAuditDesc() {
        return auditDesc;
    }

    public void setAuditDesc(String auditDesc) {
        this.auditDesc = auditDesc;
    }

    public Short getCallbackStatus() {
        return callbackStatus;
    }

    public void setCallbackStatus(Short callbackStatus) {
        this.callbackStatus = callbackStatus;
    }

    public String getCallbackReason() {
        return callbackReason;
    }

    public void setCallbackReason(String callbackReason) {
        this.callbackReason = callbackReason;
    }

    public String getErrorMessage() {
        return errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }

    public BigDecimal getCallbackCmmsAmt() {
        return callbackCmmsAmt;
    }

    public void setCallbackCmmsAmt(BigDecimal callbackCmmsAmt) {
        this.callbackCmmsAmt = callbackCmmsAmt;
    }

    public Short getFlowDirectionType() {
        return flowDirectionType;
    }

    public void setFlowDirectionType(Short flowDirectionType) {
        this.flowDirectionType = flowDirectionType;
    }

    public String getFlowDirectionName() {
        return flowDirectionName;
    }

    public void setFlowDirectionName(String flowDirectionName) {
        this.flowDirectionName = flowDirectionName;
    }

    public String getSwiftCode() {
        return swiftCode;
    }

    public void setSwiftCode(String swiftCode) {
        this.swiftCode = swiftCode;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getPaymentAccount() {
        return paymentAccount;
    }

    public void setPaymentAccount(String paymentAccount) {
        this.paymentAccount = paymentAccount;
    }

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }

    public Long getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(Long createdBy) {
        this.createdBy = createdBy;
    }

    public String getCreatedByName() {
        return createdByName;
    }

    public void setCreatedByName(String createdByName) {
        this.createdByName = createdByName;
    }

    public Long getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(Long updatedBy) {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedByName() {
        return updatedByName;
    }

    public void setUpdatedByName(String updatedByName) {
        this.updatedByName = updatedByName;
    }

    public Date getUpdated() {
        return updated;
    }

    public void setUpdated(Date updated) {
        this.updated = updated;
    }

    public String getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public BigDecimal getCallbackMoney() {
        return callbackMoney;
    }

    public void setCallbackMoney(BigDecimal callbackMoney) {
        this.callbackMoney = callbackMoney;
    }

    public Date getTimeEnd() {
        return timeEnd;
    }

    public void setTimeEnd(Date timeEnd) {
        this.timeEnd = timeEnd;
    }

    public String getSpbillCreateIp() {
        return spbillCreateIp;
    }

    public void setSpbillCreateIp(String spbillCreateIp) {
        this.spbillCreateIp = spbillCreateIp;
    }
}